In specification TS25.212 Ver.3.3.0 disclosed in 3GPP (3rd Generation Partnership Project) that is a standard mechanism of third digital mobile communications, there are regulations on a turbo coder and a rate matching apparatus that performs puncturing. There is a regulation in which when puncturing is performed to execute rate matching, only a parity bit is deleted without deleting an information bit from a turbo-coded data string.
A feature of the turbo-coded data string is an arrangement of the information bits and the parity bits. For example, in the case of the turbo code with a coding rate of 1/3, one information bit and two parity bits are arranged in order.
When puncturing is performed by a conventional rate matching apparatus, judgment processing on whether a first information bit is to be reduced is not performed, and judgment processing on whether a next parity bit is to be reduced is performed.
However, the arrangement of the information bits and the parity bits changes since interleave processing is performed in a step prior to rate matching. Before puncturing is performed by rate matching, it is necessary to perform a computation for making a distinction between the information bit and the parity bit in the data string where the arrangement was changed by interleave processing.
While, when data is transmitted to a base station from a mobile station, in 3GPP, there is a regulation in which interleave processing is first performed to turbo-coded data and rate matching is executed thereafter. More specifically, data is arranged in a plurality of frames by interleave processing and data is punctured in an each frame by rate matching.
In this case, the arrangement of the information bits and the parity bits differs for each frame by interleave processing. For example, the information bit is placed first of data in a certain frame, but there is a case in which the information bit is placed second or third in another frame.
In this way, regarding turbo-coded data after interleave processing, since the arrangement of the information bits and the parity bits differs for each frame, puncturing cannot be performed to all frames by the same task, so that there is a need to perform a computation for making a distinction between the information bit and the parity bit in data after interleave processing.